/*
 * FileName:    Page.java
 * Description: ページを分けます対象
 * History:     2010-08-30 (廖宝俊) 1.0 Create
 */
package com.sn.system.common.command;

import java.util.List;

/**
 * The <code>Page</code> class ページを分けます対象。
 *
 */
public interface Page {
	/**
     * 総ページ数
     * @return  総ページ数
     */
    int getTotalPage();

    /**
     * 当面のページ番号
     * @return  当面のページ番号
     */
    int getPageNumber();

    /** ページのサイズ
     * @return ページのサイズ
     */
    int getPageSize();
    /**
     * あるかどうか前にページ
     * @return  true --> ある、false --> ない
     */
    boolean getHasPreviousPage();

    /**
     * あるかどうか後にページ
     * @return  true --> ある，false --> ない
     */
    boolean getHasNextPage();

    /**
     * 当面のページデーターを得する
     * @return  当面のページデーター
     */
    List getData();

    /**
     * 当面のページデーターを設置
     * @param data ページデーター
     */
    void setData(List data);

    /**
     * @return 総記録数
     */
    int getTotalSize();

    /**
     * 当面のページデーターを設置
     * @param data ページデーター
     */
    void setPageSize(int pageSize);
}
